﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LunwenYun.Infrastructure.Entities.Enum
{
    public static class EnumMapping
    {
        public static string Mapping(this Gender gender)
        {
            switch (gender)
            {
                case Gender.Female:
                    return "女士";
                default:
                case Gender.Male:
                    return "先生";
            }
        }
        public static string Mapping(this AreaCode areaCode)
        {
            switch (areaCode)
            { 
                case AreaCode.AnHui:
                    return "安徽";
                case AreaCode.BeiJing:
                    return "北京";
                case AreaCode.ChongQing:
                    return "重庆";
                case AreaCode.FuJian:
                    return "福建";
                case AreaCode.GanSu:
                    return "甘肃";
                case AreaCode.GuangDong:
                    return "广东";
                case AreaCode.GuangXi:
                    return "广西";
                case AreaCode.GuiZhou:
                    return "贵州";
                case AreaCode.HaiNan:
                    return "海南";
                case AreaCode.HeBei:
                    return "河北";
                case AreaCode.HeiLongJiang:
                    return "黑龙江";
                case AreaCode.HeNan:
                    return "河南";
                case AreaCode.HuBei:
                    return "湖北";
                case AreaCode.HuNan:
                    return "湖南";
                case AreaCode.JiangSu:
                    return "江苏";
                case AreaCode.JiangXi:
                    return "江西";
                case AreaCode.JiLin:
                    return "吉林";
                case AreaCode.LiaoNing:
                    return "辽宁";
                case AreaCode.NeiMengGu:
                    return "内蒙古";
                case AreaCode.NingXia:
                    return "宁夏";
                case AreaCode.QingHai:
                    return "青海";
                case AreaCode.ShanDong:
                    return "山东";
                case AreaCode.ShangHai:
                    return "上海";
                case AreaCode.ShanXi:
                    return "山西";
                case AreaCode.ShanXi_s:
                    return "陕西";
                case AreaCode.SiChuan:
                    return "四川";
                case AreaCode.TianJin:
                    return "天津";
                case AreaCode.XiZang:
                    return "西藏";
                case AreaCode.XinJiang:
                    return "新疆";
                case AreaCode.YunNan:
                    return "云南";
                case AreaCode.ZheJiang:
                    return "浙江;";
            }
            return "其他";
        }
        public static string Mapping(this Location location)
        {
            switch (location)
            { 
                default:
                    return "其他";
            }
        }
        public static string Mapping(this PubRate pubRate)
        {
            switch (pubRate)
            {
                case PubRate.HalfMonth:
                    return "半月刊";
                case PubRate.HalfYear:
                    return "半年刊";
                case PubRate.Month:
                    return "月刊";
                case PubRate.Quarter:
                    return "季刊";
                case PubRate.TwoMonth:
                    return "双月刊";
                case PubRate.Year:
                    return "年刊";
                default:
                case PubRate.Other:
                    return "其他";
            }
        }       
        public static string Mapping(this Aptitude aptitude)
        {
            switch (aptitude)
            {
                case Aptitude.EI:
                    return "EI";
                case Aptitude.GuoJiaJi:
                    return "国家级";
                case Aptitude.HeXin:
                    return "核心";
                case Aptitude.Normal:
                    return "普通";
                default:
                case Aptitude.Other:
                    return "其他";
                case Aptitude.SCI:
                    return "SCI";
                case Aptitude.ShenJi:
                    return "省级";

            }
        }
        public static string Mapping(this Language language)
        {
            switch (language)
            { 
                case Language.English:
                    return "英文";
                case Language.Zh_CN:
                    return "中文";
                case Language.Other:
                    return "其他";
            }
            return "";
        }
        public static string Mapping(this IndType indType)
        {
            switch (indType)
            {
                case IndType.工程科技I:
                    return "工程科技I";
                case IndType.工程科技II:
                    return "工程科技II";
                default:
                case IndType.基础科学:
                    return "基础科学";
                case IndType.经济与管理科学:
                    return "经济与管理科学";
                case IndType.农业科技:
                    return "农业科技";
                case IndType.社会科学I:
                    return "社会科学I";
                case IndType.社会科学II:
                    return "社会科学III";
                case IndType.信息科技:
                    return "信息科技";
                case IndType.医药卫生科技:
                    return "医药卫生科技";
                case IndType.哲学与人文科学:
                    return "哲学与人文科学";
            }
        }
        public static string Mapping(this SubIndType subIndType)
        {
            switch (subIndType)
            {
                default:
                case SubIndType.基础科学综合: return "基础科学综合";
                case SubIndType.自然科学理论与方法: return "自然科学理论与方法";
                case SubIndType.数学: return "数学";
                case SubIndType.非线性科学与系统科学: return "非线性科学与系统科学";
                case SubIndType.力学: return "力学";
                case SubIndType.物理学: return "物理学";
                case SubIndType.生物学: return "生物学";
                case SubIndType.天文学: return "天文学";
                case SubIndType.自然地理学和测绘学: return "自然地理学和测绘学";
                case SubIndType.气象学: return "气象学";
                case SubIndType.海洋学: return "海洋学";
                case SubIndType.地质学: return "地质学";
                case SubIndType.地球物理学: return "地球物理学";
                case SubIndType.资源科学: return "资源科学";
                case SubIndType.综合科技A类综合: return "综合科技A类综合";
                case SubIndType.化学: return "化学";
                case SubIndType.无机化工: return "无机化工";
                case SubIndType.有机化工: return "有机化工";
                case SubIndType.燃料化工: return "燃料化工";
                case SubIndType.一般化学工业: return "一般化学工业";
                case SubIndType.石油天然气工业: return "石油天然气工业";
                case SubIndType.材料科学: return "材料科学";
                case SubIndType.矿业工程: return "矿业工程";
                case SubIndType.金属学及金属工艺: return "金属学及金属工艺";
                case SubIndType.冶金工业: return "冶金工业";
                case SubIndType.轻工业手工业: return "轻工业手工业";
                case SubIndType.一般服务业: return "一般服务业";
                case SubIndType.安全科学与灾害防治: return "安全科学与灾害防治";
                case SubIndType.环境科学与资源利用: return "环境科学与资源利用";
                case SubIndType.综合科技B类综合: return "综合科技B类综合";
                case SubIndType.工业通用技术及设备: return "工业通用技术及设备";
                case SubIndType.机械工业: return "机械工业";
                case SubIndType.仪器仪表工业: return "仪器仪表工业";
                case SubIndType.航空航天科学与工程: return "航空航天科学与工程";
                case SubIndType.武器工业与军事技术: return "武器工业与军事技术";
                case SubIndType.铁路运输: return "铁路运输";
                case SubIndType.公路与水路运输: return "公路与水路运输";
                case SubIndType.汽车工业: return "汽车工业";
                case SubIndType.船舶工业: return "船舶工业";
                case SubIndType.水利水电工程: return "水利水电工程";
                case SubIndType.建筑科学与工程: return "建筑科学与工程";
                case SubIndType.动力工程: return "动力工程";
                case SubIndType.核科学技术: return "核科学技术";
                case SubIndType.新能源: return "新能源";
                case SubIndType.电力工业: return "电力工业";
                case SubIndType.农业综合: return "农业综合";
                case SubIndType.农业基础科学: return "农业基础科学";
                case SubIndType.农业工程: return "农业工程";
                case SubIndType.农艺学: return "农艺学";
                case SubIndType.植物保护: return "植物保护";
                case SubIndType.农作物: return "农作物";
                case SubIndType.园艺: return "园艺";
                case SubIndType.林业: return "林业";
                case SubIndType.畜牧与动物医学: return "畜牧与动物医学";
                case SubIndType.蚕蜂与野生动物保护: return "蚕蜂与野生动物保护";
                case SubIndType.水产和渔业: return "水产和渔业";
                case SubIndType.医药卫生综合: return "医药卫生综合";
                case SubIndType.医药卫生方针政策与法律法规研究: return "医药卫生方针政策与法律法规研究";
                case SubIndType.医学教育与医学边缘学科: return "医学教育与医学边缘学科";
                case SubIndType.预防医学与卫生学: return "预防医学与卫生学";
                case SubIndType.中医学: return "中医学";
                case SubIndType.中药学: return "中药学";
                case SubIndType.中西医结合: return "中西医结合";
                case SubIndType.基础医学: return "基础医学";
                case SubIndType.临床医学: return "临床医学";
                case SubIndType.感染性疾病及传染病: return "感染性疾病及传染病";
                case SubIndType.心血管系统疾病: return "心血管系统疾病";
                case SubIndType.呼吸系统疾病: return "呼吸系统疾病";
                case SubIndType.消化系统疾病: return "消化系统疾病";
                case SubIndType.内分泌腺及全身性疾病: return "内分泌腺及全身性疾病";
                case SubIndType.外科学: return "外科学";
                case SubIndType.泌尿科学: return "泌尿科学";
                case SubIndType.妇产科学: return "妇产科学";
                case SubIndType.儿科学: return "儿科学";
                case SubIndType.神经病学: return "神经病学";
                case SubIndType.精神病学: return "精神病学";
                case SubIndType.肿瘤学: return "肿瘤学";
                case SubIndType.眼科与耳鼻咽喉科: return "眼科与耳鼻咽喉科";
                case SubIndType.口腔科学: return "口腔科学";
                case SubIndType.皮肤病与性病: return "皮肤病与性病";
                case SubIndType.特种医学: return "特种医学";
                case SubIndType.急救医学: return "急救医学";
                case SubIndType.军事医学与卫生: return "军事医学与卫生";
                case SubIndType.药学: return "药学";
                case SubIndType.生物医学工程: return "生物医学工程";
                case SubIndType.文史哲综合: return "文史哲综合";
                case SubIndType.文艺理论: return "文艺理论";
                case SubIndType.世界文学: return "世界文学";
                case SubIndType.中国文学: return "中国文学";
                case SubIndType.中国语言文字: return "中国语言文字";
                case SubIndType.外国语言文字: return "外国语言文字";
                case SubIndType.音乐舞蹈: return "音乐舞蹈";
                case SubIndType.戏剧电影与电视艺术: return "戏剧电影与电视艺术";
                case SubIndType.美术书法雕塑与摄影: return "美术书法雕塑与摄影";
                case SubIndType.地理: return "地理";
                case SubIndType.文化: return "文化";
                case SubIndType.史学理论: return "史学理论";
                case SubIndType.世界历史: return "世界历史";
                case SubIndType.中国通史: return "中国通史";
                case SubIndType.中国民族与地方史志: return "中国民族与地方史志";
                case SubIndType.中国古代史: return "中国古代史";
                case SubIndType.中国近现代史: return "中国近现代史";
                case SubIndType.考古: return "考古";
                case SubIndType.人物传记: return "人物传记";
                case SubIndType.哲学: return "哲学";
                case SubIndType.逻辑学: return "逻辑学";
                case SubIndType.伦理学: return "伦理学";
                case SubIndType.心理学: return "心理学";
                case SubIndType.美学: return "美学";
                case SubIndType.宗教: return "宗教";
                case SubIndType.政治军事法律综合: return "政治军事法律综合";
                case SubIndType.马克思主义: return "马克思主义";
                case SubIndType.中国共产党: return "中国共产党";
                case SubIndType.政治学: return "政治学";
                case SubIndType.中国政治与国际政治: return "中国政治与国际政治";
                case SubIndType.思想政治教育: return "思想政治教育";
                case SubIndType.行政学及国家行政管理: return "行政学及国家行政管理";
                case SubIndType.政党及群众组织: return "政党及群众组织";
                case SubIndType.军事: return "军事";
                case SubIndType.公安: return "公安";
                case SubIndType.法理法史: return "法理、法史";
                case SubIndType.宪法: return "宪法";
                case SubIndType.行政法及地方法制: return "行政法及地方法制";
                case SubIndType.民商法: return "民商法";
                case SubIndType.刑法: return "刑法";
                case SubIndType.经济法: return "经济法";
                case SubIndType.诉讼法与司法制度: return "诉讼法与司法制度";
                case SubIndType.国际法: return "国际法";
                case SubIndType.教育综合: return "教育综合";
                case SubIndType.社会科学理论与方法: return "社会科学理论与方法";
                case SubIndType.社会学及统计学: return "社会学及统计学";
                case SubIndType.民族学: return "民族学";
                case SubIndType.人口学与计划生育: return "人口学与计划生育";
                case SubIndType.人才学与劳动科学: return "人才学与劳动科学";
                case SubIndType.教育理论与教育管理: return "教育理论与教育管理";
                case SubIndType.学前教育: return "学前教育";
                case SubIndType.初等教育: return "初等教育";
                case SubIndType.中等教育: return "中等教育";
                case SubIndType.高等教育: return "高等教育";
                case SubIndType.职业教育: return "职业教育";
                case SubIndType.成人教育与特殊教育: return "成人教育与特殊教育";
                case SubIndType.体育: return "体育";
                case SubIndType.电子信息科学综合: return "电子信息科学综合";
                case SubIndType.无线电电子学: return "无线电电子学";
                case SubIndType.电信技术: return "电信技术";
                case SubIndType.计算机硬件技术: return "计算机硬件技术";
                case SubIndType.计算机软件及计算机应用: return "计算机软件及计算机应用";
                case SubIndType.互联网技术: return "互联网技术";
                case SubIndType.自动化技术: return "自动化技术";
                case SubIndType.新闻与传媒: return "新闻与传媒";
                case SubIndType.出版: return "出版";
                case SubIndType.图书情报与数字图书馆: return "图书情报与数字图书馆";
                case SubIndType.档案及博物馆: return "档案及博物馆";
                case SubIndType.经济与管理综合: return "经济与管理综合";
                case SubIndType.宏观经济管理与可持续发展: return "宏观经济管理与可持续发展";
                case SubIndType.经济理论及经济思想史: return "经济理论及经济思想史";
                case SubIndType.经济体制改革: return "经济体制改革";
                case SubIndType.农业经济: return "农业经济";
                case SubIndType.工业经济: return "工业经济";
                case SubIndType.交通运输经济: return "交通运输经济";
                case SubIndType.企业经济: return "企业经济";
                case SubIndType.旅游: return "旅游";
                case SubIndType.文化经济: return "文化经济";
                case SubIndType.信息经济与邮政经济: return "信息经济与邮政经济";
                case SubIndType.服务业经济: return "服务业经济";
                case SubIndType.贸易经济: return "贸易经济";
                case SubIndType.财政与税收: return "财政与税收";
                case SubIndType.金融: return "金融";
                case SubIndType.证券: return "证券";
                case SubIndType.保险: return "保险";
                case SubIndType.投资: return "投资";
                case SubIndType.会计: return "会计";
                case SubIndType.审计: return "审计";
                case SubIndType.市场研究与信息: return "市场研究与信息";
                case SubIndType.管理学: return "管理学";
                case SubIndType.领导学与决策学: return "领导学与决策学";
                case SubIndType.科学研究管理: return "科学研究管理";
            }
        }
        public static string Mapping(this ArticleStatus articleStatus)
        {
            switch (articleStatus)
            { 
                case ArticleStatus.Complete:
                    return "已完成";
                default:
                case ArticleStatus.OnShow:
                    return "进行中";
            }
        }
        public static string Mapping(this TradeStatus tradeStatus)
        {
            switch (tradeStatus)
            { 
                case TradeStatus.Cancel:
                    return "取消约稿";
                case TradeStatus.Dispute:
                    return "有争议";
                case TradeStatus.Execute:
                    return "发表中";
                default:
                case TradeStatus.Open:
                    return "新建约稿";
                case TradeStatus.Pay:
                    return "支付成功";
                case TradeStatus.TradeConfirm_m:
                    return "(投稿人)确认已发表";
                case TradeStatus.TradeConfirm_o:
                    return "(约稿人)确认已发表";
                case TradeStatus.TradeIsConfirm:
                    return "已确定发表";
                case TradeStatus.Trading:
                    return "已发表";
                case TradeStatus.WaitPay:
                    return "接受约稿，待支付";
            }
        }
        public static string Mapping(this UserRole userRole)
        {
            switch (userRole)
            { 
                case UserRole.Admin:
                    return "管理员";
                default:
                case UserRole.Member:
                    return "会员";
                case UserRole.PaperAgent:
                    return "约稿人";
            }
        }
    }
}
